Signals blocks¶
Signal blocks include fucntions for processing and filter signals, control inputs and outputs, etc.
3D Table Interpolation¶
3D Table Interpolation block returns the value obtained interpolating the configured table with the input variables.
Bound¶
Bound block limits the input signal and produces a bit to indicate if it was within the allowed range.
Inputs
(Optional) min: Minimum value allowed for input signal. If not defined, it is assumed to be infinity.
(Optional) max: Maximum allowed value for input signal. If not defined, it is assumed to be infinity.
Outputs
in range: Bit that is true when the input signal is within the allowed range and false otherwise.
User can use the Bound block to monitor critical system parameters that are within operating limits, e.g. airspeed. If not OK, in range can be used to trigger an alarm.
EWMA Tau filter¶
EWMA (Exponentially Weighted Moving Average) Tau filter block is a simple first order filter with configurable time constant Tau.
This filter follows the following equation:
Where:
\(\large{\alpha = \frac{dt}{dt + \tau}}\)
\(dt\): GNC Timestamp
\(\tau\): Time constant
\(u\): Input value to be filtered
\(y_{-1}\): Initialization value at the first execution of the block (t=0)
FFT¶
Error
The FFT block is temporarily disabled in this version.
FFT (Fast Fourier Transform) block outputs the Fast Fourier Transform of the input signal.
Hysteresis¶
Hysteresis block applies hysteresis to input signal to prevent changes in output signal when the input is close to zero.
The behaviour is as shown in the following diagram:
IIR Filter¶
IIR Filter block allows the user to define an Infinite Input Response filter, it applies a Z-transform.
Input
Output
Configuration menu:
A: Filter a coefficients. The user can add as many coefficients a as desired.
B: Filter b coefficients. The user can add as many coefficients b as desired.
Respect to IIR: If enabled, the first time the block is executed, it takes the value of input as the initial offset.
This block can be used as a derivative if configured as shown in the following figure:
Interpolation Vector¶
Interpolation Vector block applies the configured table interpolation over each of the components of the input vector.
Input
Output
Configuration menu:
: Users should add as many Vector elements as there are components in the input vector.
Points: The interpolation function of each component must be configured by the user. It is represented by the graph below.
Invert: If enabled, the y axis of the function will correspond to the input vector and the x axis to the interpolated output vector.
Ramp¶
Ramp block will ramp up to the final value defined as input, starting from the initial value defined as input, and respecting the parameters Ramp Delay and Ramp Time.
Rate limiter¶
Rate limiter block limits the rate of change of the input signal. Ir returns the signal input, but limiting its maximum rate of change.
If the rate of change of the input is higher than the maximum, the output will try to converge to the input, but respecting the imposed maximum rate of change.
The first time the block is executed the output will be equal to Init.
Inputs
Init: Initialization value, this is the output of the block in the first step after on_focus.
(Optional) Up limit: Rate limit in the up direction. The value is read as absolute value, this means that the sign of this input is neglected.
(Optional) Down limit: Rate limit in the down direction. The value is read as absolute value, this means that the sign of this input is neglected.
Output
Configuration menu:
Angle wrap: Perform a [-pi, pi] wrap. It should be enable when using angles.
This block can be used to avoid instantaneous spikes and spikes in control signals, effectively reducing control noise and smoothing flight:
Signal generator¶
Signal generator block is a wave signal generator.
Output
Configuration menu:
Frequency: Frequency of the signal.
Gain: Gain of the signal
Signal type: Users must select the type of signal to be generated. The available options are: Sine, Sqaure, Triangle and Sawtooth.
Note
An example of the shape of each type of signal is shown below.
Duty cycle: Duty cycle of the signal. Can only be modified when Square signal is selected.
An example is given below: